The invention relates to improved apparatus and methods for accurately reading bar code labels of the type including alternate dark bars and light spaces of varying widths to represent numeric and alphanumeric information.
Various "bar codes" that include alternate elongated dark bars and light spaces to represent digital and alphanumeric codes are commonly used. For example, the Universal Product Code (UPC) is commonly used on grocery products. Devices referred to as "bar code readers" are used to read and decode such bar code labels. Typically, a bar code reader includes a wand having a light emitting diode shining through an aperture at one end of the wand. The wand is held vertical relative to the bar code label and is passed rapidly from one end of the bar code label to the other. This is referred to as "scanning" of the label. A photosensitive device, such as phototransistor, receives light that is emitted by the light emitting diode and is reflected by the light spaces between the dark bars of the label. The wand typically includes a single stage amplifier that amplifies the output signal produced by the photosensitive device. This signal, referred to as the "wand signal" or "analog signal", typically has an amplitude of roughly 200 to 300 millivolts. This signal is conducted by means of a flexible cable extending from the upper end of the wand to "wand conditioning circuitry" that further amplifies and "shapes" the wand signal to produce a "raw data" signal that includes a sequence of pulses and intervals therebetween. At a constant scan velocity, the widths of the pulses and intervals accurately correspond to the widths of the bars and spaces. In some known systems, for example, in one marketed by Interface Mechanisms, Inc. (hereinafter Intermech, Inc.) of Lynnwood, Wash., the signal produced by the wand conditioning circuitry is input to a microprocessor system that executes algorithms for converting the "raw data" signal into binary numbers, one such binary number corresponding to each "character" in the bar code label, and each bit having a logical state (either a "one" or a "zero") that corresponds to the width of a bar or space of the bar code label. Once the binary numbers are obtained, the characters represented thereby automatically can be obtained by reference to a look-up table.
Presently known bar code readers are not as accurate as could be desired in that they fail to accurately read some bar code labels. There are a number of factors which contribute to inaccuracies in bar code readers. The most important factor, for hand-held wands, is variation in the scan velocity of the wand as it scans from one end of the bar code label to the other. A user typically inadvertently increases the velocity of the wand relative to the bar code label as he or she overcomes the inertia of his or her arm and the wand itself during the scanning. The velocity of the wand at the end of the scanning often may be fifty percent (50%) greater than at the beginning of the scanning of a particular bar code label. Another factor that leads to difficulty and inaccuracy in converting the above-mentioned raw data to binary numbers representing the characters of the bar code label being scanned is the fact that often the color transition of a light colored space of a character to an adjacent dark bar of that character is not abrupt, but is somewhat gradual. Another factor that decreases the accuracy of a bar code reader is the presence of small phase errors in the wand conditioning circuitry as the low level analog signal is amplified and shaped to produce standard logic levels. The best prior wand reading systems are incapable of accurately reading bar code labels of poor "print" quality that produces blurred transitions from spaces to bars or wherein the user does not maintain relatively constant scan velocity of the wand. Therefore, there is an unmet need for an improved, more reliable, and more accurate bar code reading apparatus and method.
Accordingly, it is an object of the invention to provide an improved bar code reading apparatus and method that is less sensitive than the prior art to printing imperfections in bar code labels and is less sensitive to wand velocity variations during scanning of the bar code labels.
It is another object of the invention to provide a highly accurate and reliable bar code reading apparatus and method.